'''
网页如果加载过慢，定位的元素可能就定位不到，进而报错，所以，需要进行页面加载等待
等待有三种方式：
1）系统强制等待 time.sleep()
2）隐式等待：也叫全局等待，主要针对的是所有标签元素。当元素定位不到时，就会等待查找，在等待时间范围内查找到即可。超出等待时间还没有查找到，则报异常。
        这种等待方式是不太灵活的，有可能等待了还没有定位到，脚本一般写在开头
     driver.implicitly_wait(10)
3）显式等待：适合于单个标签元素的，需要给出一定的等待条件
     WebDriverWait(driver,30,0.5).until(条件)
     条件:将显式等待的条件封装到了一个模块中expected_conditions

显式等待和隐式等待的区别，查看网址： https://cp.baidu.com/landing/tscp_doc/4fa68cc3ca54ffc1726dead7a288fd15
'''

import time


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.select import Select
from selenium.webdriver.support.wait import WebDriverWait

driver = webdriver.Edge()
driver.get("http://www.baidu.com")
# driver.implicitly_wait(10)  #隐式等待
# driver.find_element("id","chat-textarea").send_keys("测试内容")

# 显式等待
locator = ("id","chat-textarea")
input1 = WebDriverWait(driver,5,0.5).until(expected_conditions.presence_of_element_located(locator))
input1.send_keys("显式等待")

time.sleep(100)

